#pragma once

#include <cstdint>

namespace solar
{
    enum class ProjectionType : std::uint8_t
    {
        kParallel, // 斜平行投影
        kGnomonic, // 带投影校正的斜平行投影 [NEG]
    };

    enum class SimplifiedModelType : std::uint8_t
    {
        kHFLCAL,
        kiHFLCAL,
        kbHFLCAL,
        kNEG,
    };

    enum class ConvolutionModelType : std::uint8_t
    {
        kUNIZAR,
        kiCauchy,
        kHuang,
        kUNIZAR2,
    };

    enum class ModelType : std::uint8_t
    {
        kSimplified,
        kConvolution,
    };

    enum class HeliostatType : std::uint8_t
    {
        kWithoutGlass,
        kWithGlass,
    };
} // namespace solar
